The present invention relates to speech recognition systems, and more particularly, to a graphical user interface for interacting with multiple application-associated grammars.
A computer operating system graphical user interface allows a user to control multiple applications by manually operating a pointing device to position a cursor over application-associated icons. The pointing device is also employed within a specific application to control operation of the application, typically by drop-down menus and dialog boxes.
Speech recognition systems may also perform such application control by spoken input rather than manually operated pointing device. Multiple computer applications may be registered with a speech recognition engine, e.g.,word processing, e-mail, etc. Each such application may have an associated grammar of valid vocabulary and usage. These grammars vary in their complexity. A grammar may be as simple as a list of command words such as xe2x80x9copen,xe2x80x9d xe2x80x9cclose,xe2x80x9d xe2x80x9csave,xe2x80x9d xe2x80x9cprint,xe2x80x9d etc. Such a simple grammar may also be visually displayed to a user in the familiar structure of drop-down menus. More sophisticated grammars emulate natural language usage and may parse complex phrases such as: xe2x80x9cItalicize the first paragraph.xe2x80x9d
A grammar is properly viewed as the specification of word sequence structures permitted in a given language or application. The most common kinds of grammars are known as context-free grammars (CFGs) which contain a set of terminal symbols that appear in final sequences (e.g.,words and punctuation), a set of non-terminal symbols that are expanded into other symbols (e.g., xe2x80x9cNPxe2x80x9d for a noun phrase, xe2x80x9cVPxe2x80x9d for a verb phrase), a specific non-terminal designated as the starting symbol (e.g., xe2x80x9cs-majxe2x80x9d, for major sentence), and a set of rewrite rules each of which has a single non-terminal symbol on the left-hand side (LHS) and one or more symbols on the right-hand side (RHS). A context-free grammar thus assigns one or more structures to every valid word sequence in a language.
Context-free grammars are often presented in Backus-Naur Form (BNF) notation. In BNF, non-terminal symbols are enclosed in  less than brackets greater than  and the LHS and RHS of a rewrite rule are separated by an indicator symbol xe2x80x98::=xe2x80x99 which may be read as xe2x80x9cincludesxe2x80x9d. In an example of a simple grammar:
 less than SENTENCE greater than ::= less than SUBJECT greater than  less than VERBPHRASE greater than 
 less than SUBJECT greater than ::=John|Mary
 less than VERBPHRASE greater than ::= less than VERB greater than  less than OBJECT greater than 
 less than VERB greater than ::=eats|drinks
 less than OBJECTS greater than ::=wine|cheese
A speech recognition system user may have some difficulty operating multiple applications by spoken command when each application has its own different associated grammar of valid vocabulary and usage. As a result, at any given instant, such a user may not know what commands may be spoken and recognized by a given application.
A preferred embodiment of the present invention provides a graphical user interface of a speech recognition system for user interaction with at least one grammar of valid vocabulary and usage for an application which is accessible to the speech recognition system. The interface includes an interactive dialog box in a portion of a display screen, a grammar identifier displayed within the dialog box which describes an active grammar, a search identifier displayed within the dialog box which describes a grammar search mode for determining valid inputs according to the active grammar, a current input displayed within the dialog box which describes a spoken input, and a valid grammar list displayed within the dialog box which lists examples of valid vocabulary and usage according to the grammar search mode for the active grammar. The dialog box may further include an active grammar display within the dialog box which displays the active grammar, and which may be used to interactively select the current input.
In a further embodiment, the active grammar or the grammar search mode, or both are interactively selectable using the dialog box. Similarly, one of the examples displayed in the valid grammar list may be interactively selectable as an input to the application of the active grammar.
In addition, or alternatively, the grammar search mode may determine all word phrases of at least one word which are valid in the active grammar, or word phrases of at least one word which contain the current input and which are valid in the active grammar. Such word phrases may be further constrained to start with the current input.
A preferred embodiment may also bias towards shortness the examples displayed in the valid grammar list by use of a matrix-based algorithm. For example, the matrix-based algorithm may determine an average generated example length to bias the examples towards shortness.
A preferred embodiment also includes a method of user interaction via a graphical user interface with at least one grammar of valid vocabulary and usage for an application accessible to a speech recognition system. The method includes creating an interactive dialog box in a portion of a display screen; displaying within the dialog box a grammar identifier which describes an active grammar, a search identifier which describes a grammar searching mode for determining valid inputs according to the active grammar, and a current input which describes a spoken input; and generating and displaying within the dialog box a valid grammar list which lists examples of valid vocabulary and usage according to the grammar search mode for the active grammar. The dialog box may further include an active grammar display within the dialog box which displays the active grammar, and which may be used to interactively select the current input.
In a further embodiment, the active grammar or the grammar search mode, or both, are interactively selected using the dialog box. Similarly, one of the examples displayed in the valid grammar list may be selected as an input to the application of the active grammar.
In addition, or alternatively, the grammar search mode may determine all word phrases of at least one word which are valid in the active grammar, or word phrases of at least one word which contain the current input and which are valid in the active grammar. Such word phrases may be further constrained to start with the current input.
A preferred embodiment may also bias towards shortness the examples displayed in the valid grammar list by use of a matrix-based algorithm. For example, the matrix-based algorithm may determine an average generated example length to bias the examples towards shortness.